package com.gitee.feizns.quickstart.web.Interceptors.bucket4j;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 速率限制
 * 每次尝试消耗1个桶容量失败则触发异常成功则正常执行
 * @author feizns
 * @since 2025/10/22
 */
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RateLimit {

    /**
     * 唯一标识生成器
     * @return {@link String }
     */
    Class<? extends RateLimitHandler> value();

}
